<?php
/**
 * Static content controller.
 *
 * This file will render views from views/pages/
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

App::uses('AppController', 'Controller');

/**
 * Static content controller
 *
 * Override this controller by placing a copy in controllers directory of an application
 *
 * @package       app.Controller
 * @link http://book.cakephp.org/2.0/en/controllers/pages-controller.html
 */
class PagesController extends AppController {

/**
 * Controller name
 *
 * @var string
 */
	public $name = 'Pages';

/**
 * This controller does not use a model
 *
 * @var array
 */
	public $uses = array("Page");

/**
 * Displays a view
 *
 * @param mixed What page to display
 * @return void
 */
	public function display($page) {
		$title_for_layout = $view = $page;

		if (!empty($page)) {
			$title_for_layout = Inflector::humanize(preg_replace('/[^\w]/', '_', $page));
		}
		
		// page specific stuff
		switch($page) {
			case "kontakt":
				if(!empty($this->data["Kontakt"])) {
				    $this->loadModel('Setting');
                    $settings = $this->Setting->find('list', array('fields'=>array('name','value')));
                    
					$data = $this->data["Kontakt"];
					if(empty($data["email"]) || empty($data["name"]) || empty($data["message"]) || empty($data["captcha"])) {
						$this->setFlash("Sva polja su obavezna! Molimo popunite ih.", "error");
					}else if(!is_email($data["email"])) {
						$this->setFlash("Email adresa nije validna.", "error");
					}else if(strtolower($data["captcha"]) != strtolower($this->Session->read("captcha"))) {
						$this->setFlash("Uneti sigurnosni tekst nije isti kao i na slici.", "error");
					}else {
						
						$subject = "Kontakt sa sajta: " . $data["name"] . " " . date("Y-m-d H:i");
						$message = $data["message"];
						$headers = "From: no-reply@eurogel.rs" . "\n" . 
							"Reply-To: \"" . $data["name"] . "\"<" . $data["email"] . ">";
						
						if(mail($settings['E-Mail'], $subject, $message, $headers)) {
							$this->setFlash("Poruka je poslata. Hvala", "ok");
						}else{
							$this->setFlash("Poruka nije poslata iz nepoznatog razloga.", "error");
						}
					}
				}
				break;
				
			default:
				$view = "index";
				$page = $this->Page->findByKey($page);
				$title_for_layout = $page['Page']['title'];
				break;
		}
		
		$this->set(compact('page', 'title_for_layout'));
		$this->render($view);
	}
}
